#include <stdio.h>
//#include <windows.h>

void test1()
{
    unsigned int a=10;
    int b=-20;
     if((a+b)>5)
     {
        printf("yes\n");
     } 
     else
     {
         printf("no\n");
     }
    printf("%d\n",(a+b>5));
}

void test2()
{
    printf("%d %d %d %d %d %d %d\n",5%3,2%3,-5%2,5%(-2),(-5)%(-2),5%(-6),(-5)%(-6));
}

void test3()
{
    int a=0,b=1,c=1;
    int d = a && (b=b-1) || (c=c-1);
    printf("%d %d %d %d\n",a,b,c,d);
}

void test4()
{
   int a=4;
   printf("%d\n",~a);
   printf("%d\n",12|7);
   printf("%d\n",12^7);

}
void test5()
{

    int a1=1;
    //①第10位置1，其它位不变
    a1=a1|(1<<10);

    //②第10位置0，其它位不变
    int a2=1;
    a2=a2&(~(1<<10));

    //③第10位取反，其它位不变
     int a3=1;
     a3=a3^(1<<10);

    //④判断第10位是否为1
    int a4=1;
    if(a4&(1<<10))
    {
        printf("yes\n");
    }
    else
    {
         printf("no\n");
    }

    //⑤第6到9位置为1100，其它位不变
    int a5=1;
    int c=3;
    a5=(a5|(3<<8))&(!(3<<6));
    printf("%d\n",a5);
      
    int a6=1;
    a6=(a6&(~(15<<6)))|(12<<6);
    printf("%d\n",a6);

}
void test6()
{
    int a=0;
    //输入a
    scanf("%d",&a);
    int num=0; //计数
    int  c=0,b=a;
    while(b)
    {
        num++;
        c=c*10+b%10;
        b/=10;
    }
    printf("位数:%d\n",num);
    printf("%d的反数：%d\n",a,c);
    
}

int main()
{
    test6();
   // system("pause");
    return 0;
}
